package com.example.dbdoc.strategy;

import com.example.dbdoc.model.ColumnInfo;
import com.example.dbdoc.model.IndexInfo;

import java.sql.Connection;
import java.util.List;
import java.util.Map;

/**
 * 数据库元数据查询策略接口
 * 
 * @author 系统生成
 * @version 1.0.0
 */
public interface DatabaseMetadataStrategy {
    
    /**
     * 获取表注释
     */
    String getTableComment(Connection connection, String tableName);
    
    /**
     * 增强字段注释和顺序信息
     */
    void enhanceColumnInfo(Connection connection, String tableName, Map<String, ColumnInfo> columnMap);
    
    /**
     * 格式化默认值显示
     * 
     * @param defaultValue 原始默认值
     * @param dataType 数据类型
     * @return 格式化后的默认值
     */
    default String formatDefaultValue(String defaultValue, String dataType) {
        return defaultValue;
    }
}
